◆SSHとは

SSHとは「Secure Shell」の略です。

機能自体はログインして操作をするというTelnetと同等のものです。
しかし、これには接続時に特殊なユーザー認証を行い、やり取りをするデータを暗号化させる事により、
インターネットにおける様々な操作を安全に行うことが可能となっています。

この「特殊なユーザー認証」と「暗号化」がSSHにおけるもっとも重要なポイントになってきます。


FreeBSDの4から、このSSHがディフォルトで付属するようになりました。
FreeBSDに付属しているのはフリーの「OpenSSH」と呼ばれるソフトです。

→OpenSSH公式サイト(日本語)

これによって、面倒な導入作業(といってもそんなに難しく無いのですが)を行わずに
SSHを使用したセキュアな運用が誰でも可能になりました。

ここでは実際の使用方法について説明していきますが、
その前にSSHについて簡単な説明と注意をしておきたいと思います。



◆SSHには、SSH1とSSH2がある

SSHには、SSHプロトコル1と、SSHプロトコル2が存在します。

簡単に言ってしまうと、この2つの大きな差は「認証方式の違い」と言えます。

もう少し詳しく言えば、2つの違いは認証に使用する「公開鍵暗号方式」が違うということです。
SSH1はRSA公開鍵暗号方式を、SSH2はDSA公開鍵暗号方式を使用しています。

この2つのプロトコルには全く互換性はないようです。
そしてSSH2では、SSH1以上に高い安全性を持っています。


SSH1に使用していたRSA公開鍵暗号方式は特許の問題で色々と使用が制限されていました。
その事態を解決するために、特許上問題のないDSA公開鍵暗号方式を採用したSSH2が登場しました。
(RSAの特許は2000年9月20日に失効しており、これ以来RSAを自由に使えるようになってます)


同じSSHでも、このどちらかにしか対応していなかったりと、色々ややこしい部分もありましたが、
FreeBSDに使用されている「OpenSSH」は、このどちらにも対応しています。

仮にSSHで公開鍵暗号方式による認証を使用しない場合であっても、
「3DES」という共通鍵暗号方式によって暗号化データ送信を行います。

このSSHには、他にもデータ圧縮、ポートフォワーディング等、様々な機能が付いています。


なお、Windowsの有名なTelnetクライアントである「TeraTerm Pro」はSSHクライアントに拡張可能ですが、
このSSHクライアントはSSH1(RSA)にしか対応していません

Windows上で動くSSH2クライアントが存在しないわけでは無いのですが、
SSH1であっても公開鍵暗号方式で認証・暗号化されて送信されていると言う事実があるので、
それほど気に留めることでないと思います(ここは個人によりますが)。
もちろん、SSH2に対応したクライアントを使用したいと言うのであれば、それに越した事はありませんが。


余談ですが、特許の失効を受けて、OpenSSHではSSH2でもRSAを導入しています。
なにやらDSAでは暗号として致命的な弱点(著名偽造が簡単?)があるらしく、
SSH2でもRSAの使用を推奨しているのをよく聞きます。
…しかし、その「簡単」の範囲は常人には多分理解不能な領域でしょう(汗)。


以上より、現時点で最も安全なSSHは「SSHプロトコル2を使用したRSA公開鍵暗号方式」になると思われます。



◆認証に使用される「公開鍵暗号方式」とは

SSHを説明する上で、これを理解しておく事は必須ともいえます。

公開鍵暗号方式とは、これを説明するだけで立派な本が一冊できる上がるほどですが(汗)、
簡単に説明してみると、

あるデータを暗号化する時、「暗号化専用鍵」を使用し、
暗号化されたデータを復元する時は、対応する「復元専用鍵」を使用する
と言う事です。

全く正反対の機能を持つ2つの対の鍵が存在するわけです。

そして、この中の「復元専用鍵」は自分で大切に持っておき、決して外部に公開しません
「暗号化専用鍵」のみを、アクセスを許可したい相手に渡しておきます。

そして、通信する時はサーバーとクライアントが
お互いに受け取っている「暗号化専用鍵」を使用して、データーを暗号化して送ってもらうのです。

そして自分の暗号化専用鍵にて暗号化されたデータを相手から受け取ると、
自分の「復元専用鍵」にて復元します。

これが「公開鍵暗号方式」の仕組みです。


この時、実際に交換しているのは「暗号化専用鍵」のみです。
このため「暗号化専用鍵」を「公開鍵」と呼びます。

この公開鍵は読み取られた所で、これだけで復元を行うのは事実上不可能とされてます。
この「公開鍵暗号方式」による高度な認証・暗号化方式が、SSHの大きな特徴の一つです。

なお、一般的に「暗号化専用鍵」は「公開鍵」と、「復元専用鍵」はと「秘密鍵」と呼ばれています。
こっちの方が説明が簡単なため、特に説明上の注意点がなければ以後「公開鍵」「秘密鍵」と呼びます。


逆に、「共通鍵暗号方式」では、「暗号化専用鍵」と「復元専用鍵」という2つの鍵は存在せず、
1つの「鍵」によって、暗号化と復元を行います。

このため「共通鍵」と呼ばれています。(そのまんまじゃん!というツッコミは無しです…)



◆SSHが実際にやっていること

「公開鍵暗号方式」の理論はこうです。

次にSSHサーバー(OpenSSH)とクライアントが実際にやっている事を説明します。

複雑なので、めんどくさい方は読み飛ばしてもらっても構いません。


公開鍵による認証方式において、まず次の2つを前提として覚えておいて下さい。

・クライアント側の公開鍵は、サーバーにログインしようとしているユーザー(アカウント)の
 ホームディレクトリの指定場所に置いておく。

・クライアントは自分の秘密鍵で復元するのに、「秘密鍵」自身に加えて「パスフレーズ」が必要となる
 このパスフレーズは自身の鍵を作成した時点で登録されている。
 (つまり、従来のパスワードは一切使用されない


接続が発生すると、プロトコルバージョン確認後、
SSHサーバーは自分の「公開鍵」をクライアントに送り出します。(公開鍵なので暗号化する必要はない)
このサーバーの公開鍵はクライアント側で(「know_hosts」といったような名前で)登録されていきます。

WindowsのSSHクライアントが初めて、あるSSHサーバーに接続を試みた場合、この公開鍵を受け取ります。
一度受け取っているのであれば、この公開鍵を自分の所にあるものと比較します。
もし存在しなければ、それはサーバーが偽証している可能性があるため、ユーザーに警告を行います。

次はクライアントが自分のログインするユーザー名と公開鍵をサーバーに送信します。
サーバーがそれを受け取ると、クライアントのユーザー名と公開鍵が存在・一致するかどうか確認します。

ここまでが公開鍵(とユーザー)の確認です。次からが認証です。

サーバーがクライアントの公開鍵を使用して「一定の長さの乱数(256bit)」を暗号化して送信します。
この時、サーバーは「一定の長さの乱数」のMD5チェックサムも計算しておきます。

クライアントは暗号化された乱数を受け取ると、自分の秘密鍵とパスフレーズを使用して復元します。
その復元した「一定の長さの乱数」からMD5チェックサムを計算してサーバーに送ります。

サーバーはそれを受け取ってMD5チェックサムの比較します。

結果、「一定の長さの乱数」のMD5チェックサムが同じものであれば、
認証は成功した事になり、通信が許可されます。

これを「ユーザーベース認証」と言います。

そして、最後にサーバーが今後使用する「ランダムな3DES共通鍵」を作成、暗号化して送り出し、
それをクライアントが受け取って秘密鍵&パスフレーズで復元。

実際の通信自体はこの共通鍵を使用して行われます。


つまりSSHでユーザーベース認証を用いた場合、

「認証は公開鍵暗号方式(RSA or DSA)」

「通信は共通鍵暗号方式(3DES or etc....)」

だったりします。

この共通鍵はRSAによる公開鍵方式で暗号化されてクライアントに渡されるため、
そうそう読み取られる事はないと思われます。
そしてセッションごとに作成される共通鍵は変わるので、一旦読み取られても安全なはずです。

ここで登場したパスフレーズとは、鍵を作成するときに設定するもので、
クライアントの秘密鍵はこのパスフレーズで暗号化されています
パスフレーズはパスワードみたいだけどもっと柔軟にしたものであり、
文字数の制限もなく、スペースが使用できたりします。

パスフレーズ自体は決してネットワーク上に流れていないと言う事も
合わせて理解してもらえれば、どれだけ高いセキュリティを持っているか理解していただけると思います。


ついでにもう一つの「ホストベース認証」も説明しておきます。
これは従来のパスワードによるログインで使用されます。

まず、サーバー側が公開鍵をクライアントに送るところまでは同じです。

次にクライアントは乱数を使用して共通鍵を作成、これをサーバーの公開鍵を使って暗号化して送ります。

サーバーはこれを自分の秘密鍵で復元して、以後そのセッションではこの共通鍵を使って通信を行います。

ここからは従来のログイン方式と同じです。

◆設定ファイルと鍵の場所

SSHサーバーが起動しているのであれば、
認証に自分の鍵を使用しない、従来のパスワードによるログイン(ホストベース)で、
暗号化Telnetとも言えるものはすでに使用可能な状態です。
SSHクライアントを導入する事により、簡単に暗号化された通信が使用できます。


しかし、それでは面白くないので、SSH1の使用を前提に、
「公開鍵暗号方式」で認証を行う、よりセキュアなログイン方法の仕方を説明していきたいと思います。


まず、SSHサーバーが起動しているかどうか確認しておきます。
「/etc/rc.conf」に「sshd_enable="YES"」の一行があるかどうか確認しましょう。
ディフォルトでは存在しますが、なかった場合、追加して再起動をかけます。


FreeBSD4.8において、サーバーの公開鍵と秘密鍵は、
FreeBSD(おそらくsshd)初回起動時に自動的に作成されます。

「/etc/ssh/」以下に保管されているわけですが、ここにあるファイルの説明をしておきます。
これは今すぐ覚える必要は無いので、必要と思ったときに読み直してもらえればいいと思います。

「sshd_conf」…SSHサーバーの設定ファイルです。

「ssh_host_key」…SSH1のRSA秘密鍵です。
「ssh_host_key.pub」…SSH1のRSA公開鍵です。

クライアントからSSH1による接続要求があった場合、この「pub」ファイルを送ります。


「ssh_host_dsa_key」…SSH2のDSA秘密鍵です。
「ssh_host_dsa_key.pub」…SSH2のDSA公開鍵です。

クライアントからSSH2による接続要求があった場合、この「pub」ファイルを送ります。


「ssh_host_rsa_key」&「ssh_host_rsa_key.pub」
SSH2のRSA秘密鍵&公開鍵です。DSAで不安な方はどうぞ。


次にクライアントの公開鍵の保管場所ですが
[/home/USERID/.ssh]とディフォルトでは決まっています。(設定ファイルにて)

「USERID」には、実際にSSHクライアントでログインしようとしているアカウント名が入ります。

そして公開鍵を保管しておくファイルの名前はSSH1では「authorized_keys」です。
SSH2では「authorized_keys2」です。

複数のクライアントからの公開鍵が存在する場合、このファイルにまとめて保存します。


◆クライアントの公開鍵&秘密鍵を作成する

サーバー側の2つの鍵はSSH1、SSH2(DSA・RSA)ともに
上で説明したようにすでに存在しています。

なのでクライアント側にて使用する鍵を作成してみたいと思います。

Windows上で作成するソフトもあるのですが、ここではFreeBSDにて作成してみたいと思います。


ところで鍵の作成はログインしようとしているアカウントで作りましょう。

おそらくどこでどんなユーザーで作成しても文句は言われないはずですが、
ファイルの移動とか所有者の変更とか無駄な作業が出てきます。

ログインしようとしているアカウントで作成すると、
きちんとホームディレクトリに「.ssh」ディレクトリを作ってくれるので、
作成はログインしようとしているアカウントでやったほうがいいです。

では、実際に作成してみます。ここでログインしようと想定しているアカウントは「admin」です。
> ssh-keygen -t rsa1
Generating public/private rsa1 key pair.
Enter file in which to save the key (/home/admin/.ssh/identity):
Enter passphrase (empty for no passphrase): (パスフレーズを入力)
Enter same passphrase again: (同じパスフレーズを入力)
Your identification has been saved in /home/admin/.ssh/identity.
Your public key has been saved in /home/admin/.ssh/identity.pub.
The key fingerprint is:
(この部分は略)
>

まず「ssh-keygen -t rsa1」で、SSH1におけるRSA鍵を作成するように指定してます。
「Tera Term Pro」のSSHでは、SSH1しか対応していないので、この鍵を作成します。
ここで「-t rsa」とすればSSH2用のRSA鍵を、「-t dsa」とすればSSH2のDSA鍵を作成します。

次に鍵の作成場所と名前を聞いてくるので、ディフォルトのまま進みます。

次に「パスフレーズ」の入力を聞いてきます。
パスフレーズは長いものがいいでしょう。なんせスペースが使用できるんですから、
自分の好きな文章や詩や格言を入力してしまっても良いです。

次はパスフレーズの確認入力です。間違わないように同じものを入力しましょう。


これで「秘密鍵/公開鍵」が作成されました。
作成されたSSH1対応RSA鍵の名前は秘密鍵が「identity」、公開鍵が「identity.pub」です。
(別に違う名前でも構いませんが、公開鍵には「.pub」と最後に付きます)


次は、この公開鍵をログインの際、実際に使用出来るように名前を変更しておきます。
> cd /home/admin/.ssh
> cat identity.pub >> authorized_keys
> chmod 600 authorized_keys  #お約束です。忘れないように!
ここでは、「cat ***>> ****」という少し特殊なコマンドを使用しました。

これは念のため「authorized_keys」がすでに存在していた場合、
そのファイルの終わりに「indentity.pub」のデータを書き加える命令です。
「authorized_keys」が存在しなければ、新たにファイルを作成して、同等に書き加えます。


そして、最後にクライアントPCでFTPソフトを使用して、
秘密鍵である「indentity」ファイルをクライアントマシンに取り出します。

本来秘密鍵を暗号化されていないネットワークを介して送信するのはタブーなのですが、
ローカルネットワーク内なら大丈夫でしょう(ぉ
不安な方は、FDでもマウントして取り出してください。

この秘密鍵を保存する場所は、普通の人にわからない様な所がいいですね。
保存場所は任せますが、誰でもすぐに見れるような場所はできたら止めておきましょう…。

本当にセキュリティを重視する企業等の場合、
この秘密鍵は携帯メディアに保管して本人が持ち歩いています。


この時、ついでに公開鍵「indentity.pub」も取り出して保存しておけば、
新しく作成しなくても、新しいサーバーに登録する時に使用できるのでいいかも知れません。


そして同じ秘密鍵は基本的に2つ以上存在してはいけないため、削除します。
> rm identity

公開鍵である「indentity.pub」は、取り出してあるならば
多分もう必要ないでしょうから、削除してもいいと思います。


サーバー側での準備は以上です。


◆SSHクライアントで接続…TTSSHの導入

「TeraTerm Pro」はすでにインストールされていると思います。
次は、これに「TTSSH」を導入して、機能拡張を行いたいと思います。

TTSSH
TTSSH日本語版

まず、この2つをダウンロードしてきます。

別にTTSSH日本語版だけでもいいのですが、2つとも使用したほうが初期設定が楽なので、2つとも使用します。

インストール方法は簡単です。どこでもいいので、まず「TTSSH」を解凍して、
「Tera Term Pro」がインストールしてあるディレクトリに全てのファイルを上書きします。
(ディフォルトのままなら「C:\Program Files\TTERMPRO」でしょう)

次に同じようにTTSSH日本語版をどこでも良いので解凍して、すべて上書きします。


そして、新たに作成された「ttssh.exe」を使用します。
今後これがメインになるので、ディスクトップにショートカットを作成しても良いでしょう。


では「ttssh.exe」を起動します。
いつもの通り「新規接続」ウィンドウが開くので、「キャンセル」で閉じてしまいます。

次にメニューにある「設定」を選択して、「SSH認証」を選択します。
ここでまず「ユーザー名」にサーバーに実際にログインするアカウントを入力します。

そして「RSA鍵を使う」のチェックマークを選択して、「プレインテキストを使う」に入っているチェックを外します。
そして自身の秘密鍵の場所を入力するように聞かれるので、秘密鍵を指定します
(よく考えたら、この段階でいくら秘密鍵を隠しておいても携帯していない限り場所が分かるんだった…あぅ。
この場所を内緒にしたいなら、ここでは入力せず、実際にログイン時に毎回指定してもいいかも知れません)

最後に「OK」を選択して設定終了です。

なお、この段階で設定を保存しておくのを忘れないで下さい。


そして「ファイル」から「新規接続」を選び、ウィンドウを開いたらSSHサーバーのIPアドレス(ドメイン)を入力後、
その下のサービス「Telnet」に入っているチェックを「SSH」に変更して「OK」です。

あるSSHサーバーに初めて接続すると、注意メッセージが出ます。
これは初めて接続したSSHサーバーの公開鍵を保存するかどうか聞いているので、
「このホストを…(略)」にチェックを入れて「続行」を選択します。

開いたウィンドウで、最後に「パスフレーズ」を入力して接続です。
(秘密鍵を指定していないのなら、ここで指定します)


これで接続完了です。


◆さらにセキュアに設定する…sshd_conf

「/etc/ssh/sshd_conf」には様々な設定項目があります。

ディフォルトのままだと、RSAによる公開・秘密鍵認証の他にも、
プレーンテキスト(つまり、従来のパスワードログイン方式)も許可しています。

別に3DESで暗号化されてデータの送受信がされているので、それで良いと言われればそれまでですが、
RSAを導入した意味が完膚なまでにありません
折角ですので、セキュリティを極めておきたいものです。

「/etc/sshd_conf」の中にある設定の
#PasswordAuthentication yes
    ↓
PasswordAuthentication no
として変更して、プレーンテキストでのログインを拒否するようにします。

そして再起動をかけますが…その前に忘れていけないのは、
おそらく「inetd」において、「telnetd」の設定が有効のままと言う事です。
sshを起動させているのにtelnetが起動可能では意味がありません…。

「/etc/inetd.conf」を開いて、「telnet」の項目の頭に「#」を付けて、サービスを停止させましょう。

ここまで設定して、サーバー再起動です。


こうする事により、たとえパスフレーズが誰かに知られていたとしても、
「秘密鍵」が手元にない限り、インターネットを経由したサーバーへのログインは事実上不可能になります。
逆もまた真です。

…つまり、これ以降、外部でSSH接続を使用しようとした場合、絶対に「秘密鍵」が必要になってきます。
フロッピーやUSBディスク等の携帯メディアで持ち歩きましょう。

ただし、外部のパソコンに秘密鍵を保存したりしないように……


しかし、ftpはinetdで有効になっている限り使えます…逆に言えばftpでは接続可能なので、
さらにセキュリティを重視するのであれば、このアカウント(特に「su]でrootになれるWheel所属アカウント)の
ftp接続は拒否した方がいいかも知れません。(理由は説明しませんが、考えたらすぐに分かります)


ここまで徹底しておけば、事実上ハッキングされる可能性はゼロと言わなくとも、
限りなくゼロに近い状態になったと思います。


しかし、これほど徹底したセキュリティを導入する必要は無いかもしれません…が、
逆に「ここまで出来る」と言う事を知っておくのも悪くない事だと思います、はい(−−;)


……しかし……SSHサーバー自体にセキュリティホールが存在した場合、
秘密鍵とかそういったもの以前の問題で、そこを突かれてハッキングされたらイチコロな場合もあります。
事実、過去にはこういったセキュリティホールが数多く発見されていたらしいです。

このため、常に最新バージョンを使用することをお勧めします。

現在の段階でFreeBSD4.8に搭載されているOpenSSHは最新版ではありません。
多分深刻なセキュリティホールは無いはずです。
しかし、これから先ずっと見つからない…とはいかないと思います。
(見つからないほうが嬉しいのですが)


次からは、実際のインストール(バージョンアップ)について説明していきたいと思います。


◆OpenSSHのインストール準備

これ以降、SSHサーバーを最新版と置き換えるわけですが、
最悪の場合、インストールや設定の失敗によって、SSHサーバーが起動しなくなる事があります。

それ以前にインストールが終わっても、一旦現在起動しているSSHサーバーを停止して、
新しいSSHサーバーに交換しないといけません。

こればっかりは仕方ありませんので、一旦「inetd.conf」で「telnetd」を有効化して、
Telnetクライアント経由で設定を行えるようにします。

「/etc/inetd.conf」を修正後、設定の再読み込みを行います。
Server# ps -ax|grep inetd
85 ?? Is 0:00.01 /usr/sbin/inetd -wW
Server# kill -HUP 85

もしくは(古き良き方法)
Server# kill -HUP `cat /var/run/inetd.pid`

「inetd」のプロセス番号を調べて、そこにHUP信号を送って再起動をかけてます。
これがわかんない方は、素直にサーバーを再起動してください。

以後、実際のバージョンアップ作業はTelnetクライアント(か、コンソールで直接)で行ってください。


なお、「OpenSSH」の他にも、依存している「OpenSSL」、「zlib」といったソフトの入れ替えも行います。
ただし、「zlib」はここ数年バージョンアップは行われていませんので、入れ替える必要はないと思われます。
(一応バージョン確認の説明はしておきます)

それぞれ、どのバージョンを使用しているか確認してみます。

・OpenSSHのバージョン確認(→OpenSSHの日本語公式HP
Server# /usr/sbin/sshd -version
sshd: illegal option -- v
sshd version OpenSSH_3.5p1 FreeBSD-20030201
(以下略)
バージョンを確認するオプションは用意されて無いみたいなので、イリーガルなオプションを指定して
表示させてます(汗)。

・OpenSSLのバージョン確認(→OpenSSLの公式HP
Server# /usr/bin/openssl version
OpenSSL 0.9.7a Feb 19 2003

・zlibのバージョン確認(→zlibの公式HP
Server# less /usr/include/zlib.h
/* zlib.h -- interface of the 'zlib' general purpose compression library
version 1.1.4, March 11th, 2002

Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler
(以下略)

下線部が、バージョンです。

表示されたバージョンと公式HPとを確認して、
バージョンアップが必要なのは「OpenSSH」と「OpenSSL」だと確認しました。


次にSSHサーバーの停止と、念のため設定ファイルのバックアップを作成しておきます。
(portsを使ったら違うディレクトリにインストールされるんですけどね…)

この段階で、出来たらTelnetで接続しておいてください
SSHデーモン停止)
Server# ps -ax |grep sshd
89 ?? Is 0:00.47 /usr/sbin/sshd
138 p0 R+ 0:00.00 grep sshd
Server# kill 89

SSHの設定保存)
Server# cd /etc/ssh/
Server# cp sshd_config sshd_config.bak

では、インストールに進みます。


◆OpenSSHと依存ソフトのインストール(portsを使用)

portsを使用する方法とソースからインストールする方法があるのですが、
portsを使用したほうが様々な独自の修正パッチが当てられて安全です。(特にOpenSSH)
そのため、ソースからの直接インストールは説明しません。
各自知りたい方は調べてみてください。


あと、portsが最新版で無いのならば最新版に更新するか、最新パッケージを使用してもいいと思います。
このあたりは時間と相談して決めてください。

まず最初に「OpenSSL」をportsからインストールします。結構な時間がかかります。
Server# cd /usr/ports/security/openssl
Server# make install
(終了まで待つ)
Server# make clean
終了したらパスを通して、昔のものをリネーム後バージョンを確認します。
Server# rehash
Server# mv /usr/bin/openssl /usr/bin/openssl.old
Server# openssl version
OpenSSL 0.9.7b 10 Apr 2003


次に「OpenSSH」をportsからインストールします。これは速いです。
Server# cd /usr/ports/security/openssh
Server# make install
(終了まで待つ)
Server# make clean
終了したらパスを通して、同様に昔のものをリネーム後バージョンを確認します。
Server# rehash
Server# mv /usr/sbin/sshd /usr/sbin/sshd.old
Server# sshd -version
sshd: illegal option -- v
sshd version OpenSSH_3.6.1
(以下略)

といっても、portsを使用したらSSHはすべて「/usr/local」以下にインストールされるので、
ここまでする必要は無いのかも知れませんが(汗)。

portsでインストールしたら、例によって起動スクリプトが付いてきます。
折角ですので使用させてもらいましょう〜。
Server# cd /usr/local/etc/rc.d/
Server# cp sshd.sh.sample sshd.sh

最後に「/etc/rc.conf」にて、を「sshd_enable="NO"」として、
「rc.conf」からの起動を停止しておきます。
これを忘れるとSSHサーバーが起動時衝突するので注意してください。
(多分「rc.conf」を優先すると思います。ここではリネームしてあるので、エラーが出るだけですが)


他にも、portsを使用しなかったために起動スクリプトが存在しない、使いたくないのであれば、
「sshd_enable="YES"」の状態で「sshd_program="/usr/local/sbin/sshd"」と書いてやれば「rc.conf」より可能です。


最後に新しいSSHデーモンを起動です
Server# /usr/local/etc/rc.d/sshd.sh start

これで完了です。
今後は「/usr/local/sbin/sshd」が起動されます。

もちろん、このSSHデーモンは「/usr/local/etc/ssh」以下にある設定ファイルを読みに行くので、
プレーンテキストのログインを拒否したいのであれば「PasswordAuthentication no」を設定しておきましょう。

しかし、なぜか書き込み禁止にされているので
Server# chmod +w /usr/local/etc/ssh/sshd_config
と編集前にやっておきましょう。変更終了後、
Server# chmod -w /usr/local/etc/ssh/sshd_config
とやって元に戻しておいてもいいかも知れません。


なお、バージョンアップ後、SSHクライアントで初めて接続に行くと、
「初めて接続するサーバ〜」と表示されると思います。
バージョンアップ時サーバーの公開鍵が新規に作成されているのが原因なので、受け入れてください。


この確認を終えたら、「inetd.conf」にてtelnetdの動作を停止させてください。

以上でバージョンアップ完了です。

◆SSH2を使う…WindowsSSH2クライアント「PuTTy」

(鋭気製作中

[一つ上に戻る]

テレワークならECナビ Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!
無料ホームページ 無料のクレジットカード 海外格安航空券 海外旅行保険が無料! 海外ホテル